//
//  Const.h
//  uteped_sdk
//
//  Created by mateng on 2024/2/19.
//

#ifndef Const_h
#define Const_h

#define D_BUG false

#define KEY_PATH             @"path"
#define KEY_METHOD           @"method"
#define KEY_RESULT           @"result"
#define KEY_TYPE             @"type" 
#define KEY_NOTE             @"note"
#define KEY_NAME             @"name"
#define KEY_PHONE            @"phone"
#define KEY_ADDRESS          @"address"
#define KEY_USERID           @"userId"
#define KEY_LIST             @"list"
#define KEY_STATUS           @"status"
#define KEY_BATTERY          @"battery"
#define KEY_ACTION           @"action"
#define KEY_VALUE            @"value"
#define KEY_PERMISSION       @"permission"
#define KEY_ENABLE           @"enable"
#define KEY_PACKAGE          @"package"
#define KEY_TAG              @"tag"
#define KEY_LANGUAGE         @"language"
#define KEY_UNITS            @"units"
#define KEY_ERROR_CODE       @"error_code"
#define KEY_ERROR_MSG        @"error_message"
#define KEY_SUCCESS          @"success"
#define KEY_NOTIFICATION     @"notification"
#define KEY_APP_NOTIFICATION @"app_notification"
#define KEY_SYSTEM           @"system"
#define KEY_FILE             @"file"
#define KEY_FIRMWARE         @"firmware"
#define KEY_FIRMWARE_VERSION @"firmware_version"
#define KEY_RESET            @"reset"
#define KEY_IDENTIFIER       @"identifier"
#define KEY_DATA             @"data"
#define KEY_FROM_QRCODE      @"fromQrcode"
#define KEY_PAIRED           @"paired"
#define KEY_PAIRID           @"pairId"
#define KEY_PROGRESS         @"progress"
#define KEY_DURATION         @"duration"

#define KEY_allDayEnable     @"allDayEnable"
#define KEY_timingEnable     @"timingEnable"
#define KEY_fromTimeHour     @"fromTimeHour"
#define KEY_fromTimeMinute   @"fromTimeMinute"
#define KEY_toTimeHour       @"toTimeHour"
#define KEY_toTimeMinute     @"toTimeMinute"
#define KEY_remindInterval   @"remindInterval"
#define KEY_cyclePeriod      @"cyclePeriod"

//type
#define TYPE_MAP  @"map"
#define TYPE_LIST @"list"

//
#define SYNC_PERIOD_DEFAULT 3600000
#define SYNC_PERIOD         @"sync_period"

// action
#define ACTION_SYNC_DATA_COMPLETE    @"act_sync_data_complete"
#define ACTION_SYNC_CONTACT_STATE    @"act_sync_contact_state"
#define ACTION_SYNC_CONTACT_PROGRESS @"act_sync_contact_progress"
#define ACTION_SYNC_SMS_REPLY_STATE  @"act_sync_sms_reply_state"
#define ACTION_SYNC_SMS_REPLY_PROGRESS @"act_sync_sms_reply_progress"
#define ACTION_SPORT_DATA_NOTIFY    @"act_sport_data_notify"

//progress
#define ACTION_COMPLETE           @"action_complete"
#define ACTION_FAILED             @"action_failed"
#define ACTION_PROGRESS           @"action_progress"

// state
#define STATE_SYNC_RUNNING @"state_sync_running"
#define STATE_DEVICE_DISCONNECTED @"state_device_disconnected"
#define STATE_TIMEOUT @"state_timeout"


// method
//===========================device options========================
#define M_setContinuousHeartRate      @"setContinuousHeartRate"
#define M_setAutoHeartRate            @"setAutoHeartRate"
#define M_setContinuousBloodOxygen    @"setContinuousBloodOxygen"
#define M_setBloodOxygenRemind        @"setBloodOxygenRemind"
#define M_setLowestRemind             @"setLowestRemind"
#define M_setHighestRemind            @"setHighestRemind"
#define M_setHeartRateZone            @"setHeartRateZone"
#define M_setSciSleep                 @"setSciSleep"
#define M_setFutureWeatherCapability  @"setFutureWeatherCapability"
#define M_setTodayWeather             @"setTodayWeather"
#define M_setFutureWeather            @"setFutureWeather"
#define M_getFutureWeatherSupport     @"getFutureWeatherSupport"
#define M_setWeatherErrorInfo         @"setWeatherErrorInfo"
#define M_setAppMenstrualCapability   @"setAppMenstrualCapability"
#define M_setAppMenstrualModifyTime   @"setPhysiologicalTime"
#define M_setCycle                    @"setCycle"
#define M_setMenstrualNotifyAbility   @"setMenstrualNotifyAbility"
#define M_setMenstrualCycleData       @"setMenstrualCycleData"
#define M_setCallRemindEnable         @"setCallRemindEnable"
#define M_setCallRemindHangup         @"setCallRemindHangup"
#define M_setFindWearCmd              @"setFindWearCmd"
#define M_getFindWearState            @"getFindWearState"
#define M_setSmsReplyEnable           @"setSmsReplyEnable"
#define M_setSmsRemindEnable          @"setSmsRemindEnable"
#define M_setTimeSyncEnable           @"setTimeSyncEnable"
#define M_setWeightSyncEnable         @"setWeightSyncEnable"
#define M_setScreenAutoLight          @"setScreenAutoLight"
#define M_getScreenAutoLightState     @"getScreenAutoLightState"
#define M_setScreenOnDuration         @"setScreenOnDuration"
#define M_queryDeviceSupportLanguage  @"queryDeviceSupportLanguage"
#define M_setDoNotDisturb             @"setDoNotDisturb"
#define M_queryDeviceDoNotDisturb     @"queryDeviceDoNotDisturb"
#define M_setTimeClock                @"setTimeClock"
#define M_getTimeClock                @"getTimeClock"
#define M_queryWorldClock             @"queryWorldClock"
#define M_querySupportWorldClockCount @"querySupportWorldClockCount"
#define M_setWorldClock               @"setWorldClock"
#define M_setLanguage                 @"setLanguage"
#define M_setAlarmList                @"setAlarmList"
#define M_getAlarmList                @"getAlarmList"
#define M_setNotificationConfig       @"setNotificationConfig"
#define M_setFindMyPhone              @"setFindMyPhone"
#define M_sendFindPhoneSwitchStatus   @"sendFindPhoneSwitchStatus"
#define M_setAutoStress               @"setAutoStress"
#define M_sendCameraPermission        @"sendCameraPermission"
#define M_setCameraStatus             @"setCameraStatus"
#define M_cameraControl               @"cameraControl"

#define M_setTimeDisplay @"setTimeDisplay"
#define TIME_FORMAT      @"time_format"
#define DATE_FORMAT      @"date_format"

// local
#define M_checkPermissions  @"checkPermissions"
#define M_queryPermissions  @"queryPermissions"
#define M_hasPermission     @"hasPermission"
#define M_toPermissionPage  @"toPermissionPage"
#define M_log               @"log"
#define M_checkGPS          @"checkGPS"
#define M_isGPSOpen         @"isGPSOpen"
#define M_setSyncDataEnable @"setSyncDataEnable"
#define M_setLogFileEnable  @"setLogFileEnable"
#define M_setDeviceFilter   @"setDeviceFilter"
#define M_useDatabaseByName @"useDatabaseByName"
#define M_launchApp         @"launchApp"

// device
#define M_isBluetoothEnable @"isBluetoothEnable"
#define M_isConnected       @"isConnected"
#define M_isConnectedGatt   @"isConnectedGatt"
#define M_isDeviceBusy      @"isDeviceBusy"
#define M_checkBT3          @"checkBT3"


// sports
#define M_setCurrentGPSModel                @"setCurrentGPSModel"
#define M_setGpsParams                      @"setGpsParams"
#define M_setIsOpenWorkoutOperatorReport    @"setIsOpenWorkoutOperatorReport"
#define M_setWorkoutRealTimeData            @"setWorkoutRealTimeData"
#define M_setSportOneRecord                 @"setSportOneRecord"
#define M_getDeviceOperatorState            @"getDeviceOperatorState"
#define M_setDeviceOperator                 @"setDeviceOperator"
#define M_setWorkoutRealTimeDataModel       @"setWorkoutRealTimeDataModel"
#define M_queryWorkOutManageInfo            @"queryWorkOutManageInfo"
#define M_setSportDisplay                   @"setWorkOutManageInfo"
#define M_startGpsSignal                    @"startGpsSignal"
#define M_stopGpsSignal                     @"stopGpsSignal"
#define M_syncWorkoutHistoryData            @"syncWorkoutHistoryData"
#define M_getMotionSummaryData              @"getMotionSummaryData"

// permissions = type
#define P_bluetooth              @"p_bluetooth"
#define P_location               @"p_location"
#define P_contact                @"p_contact"
#define P_call                   @"p_call"
#define P_sms                    @"p_sms"
#define P_storage                @"p_storage"
#define P_upgrade                @"p_upgrade"

#define APP_REMIND_OTHER_PACKAGE @"app_remind_other"

// format
#define FMT_TIME_NORMAL          @"yyyy-MM-dd-HH-mm"
#define FMT_TIME_CLANDER_TIME    @"yyyy-MM-dd HH:mm"
#define FMT_TIME_CLANDER         @"yyyyMMdd"
#define FMT_TIME_SHORT_YMSHMS    @"yyyyMMddHHmmss"
#define FMT_TIME_FULL_YMSHMS     @"yyyy-MM-dd-HH:mm:ss"
#define FMT_TIME_SECS            @"yyyy-MM-dd-HH-mm-ss"


#define NOTIFACATION_DEVICE_TO_SDK     @"Notifation_ThirdDevice_To_LinkSDK"

#endif /* Const_h */
